package com.woniuxy.rabbitmq.topic;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * @author: 15489  <br/>
 * Date: 2022/4/2:15:02  <br/>
 * Description:
 */

public class TopicProducter {
    public static void main(String[] args) throws IOException, TimeoutException {
//        1:创建工厂:创建rabbitmq的连接对象
        ConnectionFactory factory=new ConnectionFactory();
//        2:设置连接参数
        factory.setHost("192.168.58.128"); //ip
        factory.setPort(5672);             //端口
        factory.setUsername("admin");       //账号
        factory.setPassword("admin");       //密码
        factory.setVirtualHost("/test");   // 虚拟机名字
//        3:创建连接
        Connection connection=factory.newConnection();
        System.out.println(connection);

//        4:发消息
//        4.1 创建一个通道
        Channel channel = connection.createChannel();
//      5:创建使用交换机
//        参数一 交换机的名字
//        参数二 交换机的类型    direct 路由模式采用的交换机
        channel.exchangeDeclare("topic_exchange","topic");
        for (int i=0;i<10;i++){
//            参数一 交换机的名字
//            参数二 ：路由的名字
            channel.basicPublish("topic_exchange","chengdu.news",null,(i+"").getBytes());
        }
        channel.close();
        connection.close();

    }
}
